glLinkProgram(program);
glGetProgramInfoLog(program, sizeof msg, NULL, msg);
g_debug ("program info: %s\n", msg);
+ glDetachShader (program, v);
+ glDetachShader (program, f);
glDeleteShader (v);
glDeleteShader (f);
glLinkProgram (program->program);
+ glDetachShader (program->program, vertex_shader);
+ glDetachShader (program->program, fragment_shader);
+
glDeleteShader (vertex_shader);
glDeleteShader (fragment_shader);
glBindAttribLocation (program_id, 0, "aPosition");
glBindAttribLocation (program_id, 1, "vUv");
glLinkProgram (program_id);
+ glDetachShader (program_id, vertex_id);
+ glDetachShader (program_id, fragment_id);
glGetProgramiv (program_id, GL_LINK_STATUS, &status);
if (status == GL_FALSE)
glDeleteProgram (program_id);
program_id = -1;
-
- goto out;
}
- glDetachShader (program_id, vertex_id);
glDeleteShader (vertex_id);
-
- glDetachShader (program_id, fragment_id);
glDeleteShader (fragment_id);
out:
glLinkProgram(program);
glGetProgramInfoLog(program, sizeof msg, NULL, msg);
g_print ("program info: %s\n", msg);
+ glDetachShader (program, v);
+ glDetachShader (program, f);
glDeleteShader (v);
glDeleteShader (f);